﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;  

namespace SOA
{
    /// <summary>
    /// Descripción breve de WebServiceRegistraCliente
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio Web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceRegistraCliente : System.Web.Services.WebService
    {
        public SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["PedidosTuristicos"].ToString()); 

        [WebMethod]
        public string RegistraCliente(String Nombres, String Apellidos, String Identificación, String Correo, String Telefono, String Cod_usuario, String Password, String Nrotarjeta)
        {
            SqlCommand com = new SqlCommand("INS_CLIENTE", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@Nombres", SqlDbType.VarChar).Value = Nombres;
            com.Parameters.Add("@Apellidos", SqlDbType.VarChar).Value = Apellidos ;
            com.Parameters.Add("@Identificación", SqlDbType.VarChar).Value = Identificación ;
            com.Parameters.Add("@Correo", SqlDbType.VarChar).Value = Correo ;
            com.Parameters.Add("@Telefono", SqlDbType.VarChar).Value = Telefono ;
            com.Parameters.Add("@Cod_usuario", SqlDbType.VarChar).Value = Cod_usuario ;
            com.Parameters.Add("@Password", SqlDbType.VarChar).Value = Password ;
            com.Parameters.Add("@Nrotarjeta", SqlDbType.VarChar).Value = Nrotarjeta;
            cn.Open();
            return com.ExecuteScalar().ToString();
            cn.Close();
        }
        [WebMethod]
        public string RegistraPago(Int32 CodCliente, String NroTarjeta, String CodPaquete, Decimal MontoPagado, String NumeroTransaccion)
        {
            SqlCommand com = new SqlCommand("INS_PAGOS", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@Cod_cliente", SqlDbType.Int).Value = CodCliente;
            com.Parameters.Add("@Nro_tarjeta", SqlDbType.VarChar).Value = NroTarjeta;
            com.Parameters.Add("@Codigo_paquete", SqlDbType.VarChar).Value = CodPaquete;
            com.Parameters.Add("@Monto_pagado ", SqlDbType.Decimal).Value = MontoPagado;
            com.Parameters.Add("@Numero_transaccion ", SqlDbType.VarChar).Value = NumeroTransaccion;
            cn.Open();
            return com.ExecuteScalar().ToString();
            cn.Close();
        }
        [WebMethod]
        public DataSet BuscaCliente(String Correo, String Password)
        {
            SqlCommand com = new SqlCommand("[SP_SEL_CLIENTE]", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@Correo", SqlDbType.VarChar).Value = Correo;
            com.Parameters.Add("@Password", SqlDbType.VarChar).Value = Password;
            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet paq = new DataSet("paq");
            cn.Open();
            da.Fill(paq);
            cn.Close();
            return paq;
        }
        [WebMethod]
        public DataSet SeleccionarPaquete(Int32 COD_HOTEL, Int32 COD_TIPO_VUELO, Int32 CODDPTO, Int32 CODPROV, Int32 CODDIST,Int32 TIP_HAB, Int32 EMP_AER, Int32 CANT_HABI)
        {
            SqlCommand com = new SqlCommand("SP_SEL_PAQUETE", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@COD_HOTEL", SqlDbType.Int).Value = COD_HOTEL;
            com.Parameters.Add("@COD_TIPO_VUELO", SqlDbType.Int).Value = COD_TIPO_VUELO;
            com.Parameters.Add("@CODDPTO", SqlDbType.Int).Value = CODDPTO;
            com.Parameters.Add("@CODPROV", SqlDbType.Int).Value = CODPROV;            
            com.Parameters.Add("@CODDIST", SqlDbType.Int).Value = CODDIST;
            com.Parameters.Add("@COD_TIPO_HAB", SqlDbType.Int).Value = TIP_HAB;
            com.Parameters.Add("@COD_EMP_AEREA", SqlDbType.Int).Value = EMP_AER;
            com.Parameters.Add("@CANT_HABI", SqlDbType.Int).Value = CANT_HABI;
            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet paq = new DataSet("paq");

            cn.Open();
            da.Fill(paq) ;
            cn.Close();

            return paq;
        }
        [WebMethod]
        public DataSet SeleccionarPaqueteId(Int32 COD)
        {
            SqlCommand com = new SqlCommand("SP_SEL_PAQUETE_ID", cn);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.Add("@COD", SqlDbType.Int).Value = COD;
            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet paq = new DataSet("paq");

            cn.Open();
            da.Fill(paq);
            cn.Close();

            return paq;
        }
        [WebMethod]
        public DataSet ListarPagos()
        {
            SqlCommand com = new SqlCommand("[SP_SEL_PAGOS]", cn);
            com.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(com);
            DataSet paq = new DataSet("paq");
            cn.Open();
            da.Fill(paq);
            cn.Close();
            return paq;
        }

    }
}
